package com.sihai.ehr.service;

import org.springframework.stereotype.Service;

import com.sihai.core.Limit;
import com.sihai.core.LimitedList;
import com.sihai.core.Sorter;
import com.sihai.ehr.model.biz.ExamPeriod;
import com.sihai.ehr.model.sys.ExaminePeriodEnum;

/**
 * 考核周期服务接口
 * 
 * @author Henry
 * 
 */
public interface ExamPeriodService {

	/**
	 * 获取考核周期对象
	 * 
	 * @param id
	 * @return
	 */
	ExamPeriod getExamPeriod(Long id);

	/**
	 * 获取考核周期编号
	 * 
	 * @param periodType
	 * @param examYear
	 * @param examMonthly
	 * @return
	 */
	public Long getExamPeriodByTypeAndYMonthly(
			ExaminePeriodEnum periodType, int examYear,
			int examMonthly);

	/**
	 * 获取考核周期列表
	 * 
	 * @param examinePeriodEnum
	 * @param limit
	 * @param sorter
	 * @return
	 */
	LimitedList<ExamPeriod> searchExamPeriods(
			ExaminePeriodEnum examinePeriodEnum, Limit limit, Sorter sorter);

	/**
	 * 获取考核周期列表
	 * 
	 * @param examPeriod
	 * @param limit
	 * @param sorter
	 * @return
	 */
	LimitedList<ExamPeriod> searchExamPeriods(ExamPeriod examPeriod,
			Limit limit, Sorter sorter);

	/**
	 * 保存考核周期对象
	 * 
	 * @param examPeriod
	 * @return
	 */
	Long saveExamPeriod(ExamPeriod examPeriod);

	/**
	 * 移动考核周期ID集合
	 * 
	 * @param examPeriodIds
	 */
	void removeExamPeriods(String examPeriodIds);

}
